import request from '@/utils/request';

/**
 * 获取角色列表
 *
 * 接口地址：http://yapi.ii-ai.tech/project/341/interface/api/8696
 */
export async function fetchRoleListAsync(params): Promise<any> {
  return request(`/user/admin/role/page`, {
    method: 'POST',
    data: {
      ...params,
    },
  });
}

/**
 * 获取所有角色
 *
 * 接口地址：http://yapi.ii-ai.tech/project/341/interface/api/8608
 */
export async function fetchAllRolesAsync(id: number): Promise<any> {
  return request(`/user/admin/role/tenantId/${id}`);
}

/**
 * 创建角色
 *
 * 接口地址：http://yapi.ii-ai.tech/project/341/interface/api/8611
 */
export async function createRoleAsync(params): Promise<any> {
  return request('/user/admin/role/create', {
    method: 'POST',
    data: {
      ...params,
    },
  });
}

/**
 * 获取角色相关信息
 *
 * 接口地址：http://yapi.ii-ai.tech/project/341/interface/api/8703
 */
export async function fetchRoleInfoAsync(id: number): Promise<any> {
  return request(`/user/admin/role/get/${id}`);
}

/**
 * 更新角色
 *
 * 接口地址：http://yapi.ii-ai.tech/project/341/interface/api/8612
 */
export async function updateRoleAsync(data): Promise<any> {
  return request(`/user/admin/role/update`, {
    method: 'POST',
    data,
  });
}

/**
 * 删除角色
 *
 * 接口地址：http://yapi.ii-ai.tech/project/341/interface/api/8697
 *
 */
export async function deleteRoleAsync(id: number): Promise<any> {
  return request(`/user/admin/role/delete/${id}`);
}

/**
 * 获取权限列表
 *
 * 接口地址：http://yapi.ii-ai.tech/project/341/interface/api/8700
 *
 */
export async function fetchPermissionListAsync(): Promise<any> {
  return request(`/user/menu/tree/list`);
}
